package Cliente.interface_grafico;

import java.awt.Container;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.IOException;
import java.io.ObjectOutputStream;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;

import mensagem.MIdJogador;
import mensagem.MVerPerfil;
import mensagem.TipoMensagem;

public class Perfil extends JFrame{

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private MVerPerfil mensagem;
	private ObjectOutputStream output;

	private JLabel l_nick;
	private JLabel l_nome;
	private JLabel l_email;
	private JLabel l_sexo;
	private JLabel l_nacionalidade;
	private JLabel l_data_nascimento;
	private JLabel l_nick1;
	private JLabel l_nome1;
	private JLabel l_email1;
	private JLabel l_sexo1;
	private JLabel l_nacionalidade1;
	private JLabel l_data_nascimento1;
	private JButton b_estatisticas;
	private JButton b_cancelar;
	private JFrame janela;

	public Perfil(MVerPerfil mensagem_perfil, ObjectOutputStream out) {
		super("King - Perfil");
		assert mensagem != null && out != null;
		this.mensagem = mensagem_perfil;
		this.output = out;

		setSize(380, 200);
		setLocation(200, 100);
		setResizable(false);
		setDefaultCloseOperation(DISPOSE_ON_CLOSE);

		l_nick = new JLabel("Nick:");
		l_nome = new JLabel("Nome:");
		l_email = new JLabel("E-mail:");
		l_sexo = new JLabel("Sexo:");
		l_nacionalidade = new JLabel("Nacionalidade:");
		l_data_nascimento = new JLabel("Data de nascimento:");

		l_nick1 = new JLabel(mensagem.getNick());
		l_nome1 = new JLabel(mensagem.getNome());
		if(mensagem.getSexo() == 'm'){
			l_sexo1 = new JLabel("masculino");
		}else if(mensagem.getSexo() == 'f'){
			l_sexo1 = new JLabel("feminino");
		}else{
			l_sexo1 = new JLabel("");
		}
		l_email1 = new JLabel(mensagem.getEmail());
		if(mensagem.getData_nascimento() != null && mensagem.getData_nascimento().length() >= 10){
			l_data_nascimento1 = new JLabel(mensagem.getData_nascimento().substring(0, 10));
		}else{
			l_data_nascimento1 = new JLabel("");
		}
		l_nacionalidade1 = new JLabel(mensagem.getPais());

		b_cancelar = new JButton("Cancelar");
		b_estatisticas = new JButton("Estatisticas");

		b_cancelar.addActionListener(new ActionListener(){
			@Override
			public void actionPerformed(ActionEvent arg0) {
				janela.setVisible(false);
				janela.dispose();
			}
		});

		b_estatisticas.addActionListener(new ActionListener(){
			@Override
			public void actionPerformed(ActionEvent arg0) {
				synchronized(output){
					try {
						output.writeObject(new MIdJogador(TipoMensagem.CLIENTE_VERESTATISTICA, mensagem.getId()));
					} catch (IOException e) {
						JOptionPane.showMessageDialog(b_estatisticas, "Erro nos Streams: " + e, "Erro", 0);
					}
				}
			}
		});


		Container cp = getContentPane();
		JPanel painel = new JPanel();
		painel.setLayout(new GridLayout(7, 2));
		painel.bounds();

		painel.add(l_nick);
		painel.add(l_nick1);
		painel.add(l_nome);
		painel.add(l_nome1);
		painel.add(l_email);
		painel.add(l_email1);
		painel.add(l_sexo);
		painel.add(l_sexo1);
		painel.add(l_nacionalidade);
		painel.add(l_nacionalidade1);
		painel.add(l_data_nascimento);
		painel.add(l_data_nascimento1);
		painel.add(b_estatisticas);
		painel.add(b_cancelar);

		cp.add(painel);

		janela = this;
		setVisible(true);
	}
}
